﻿using System;
using System.Windows.Forms;

namespace T4_Eind_programma
{
    public partial class BatchScherm : Form
    {
        #region Variable Declaration

        private Mengbatch mijnMengbatch;

        #endregion Variable Declaration

        #region Properties

        public Mengbatch MijnMengbatch
        {
            get { return mijnMengbatch; }
            set { mijnMengbatch = value; }
        }

        #endregion Properties

        #region Constructor

        public BatchScherm(Mengbatch mijnMengbatch)
        {
            InitializeComponent();
            this.mijnMengbatch = mijnMengbatch;
            MengbatchToControls(mijnMengbatch);
            labelDoeltank.Text = "Doeltank: C" + trackBarDoeltank.Value;
            labelMengtijd.Text = "Mengtijd: " + trackBarMengtijd.Value * 10 + " sec";
            labelSiroopPct.Text = "Siroop: " + trackBarSiroopPct.Value + " %";
            labelVerwarmTijd.Text = "Verwarm tijd :" + trackBarVerwarmTijd.Value + " sec";

            string name = "vat";
            if (trackBarHoeveelheid.Value == 1)
            {
                name = "vat";
            }
            else
            {
                name = "vaten";
            }
            labelHoeveelheid.Text = trackBarHoeveelheid.Value + " " + name;
            trackBarDoeltank.Enabled = false;
        }

        #endregion Constructor

        private void BatchScherm_Load(object sender, EventArgs e)
        {
        }

        #region Button Clicks

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.No;
            this.Close();
        }

        private void btnSubmit_Click(object sender, EventArgs e)
        {
            ControlsToMengbatch(mijnMengbatch);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }

        #endregion Button Clicks

        private void ControlsToMengbatch(Mengbatch mijnMengbatch)
        {
            mijnMengbatch.Nummer = Convert.ToInt32(textBoxNummer.Text);

            mijnMengbatch.Productcode = textBoxProductcode.Text;

            mijnMengbatch.Smaak = new Smaak(comboBoxSmaak.Text);

            mijnMengbatch.Hoeveelheid = trackBarHoeveelheid.Value;

            mijnMengbatch.SiroopPercentage = trackBarSiroopPct.Value;

            mijnMengbatch.Mengtijd = trackBarMengtijd.Value * 10;

            mijnMengbatch.Verwarmen = checkBoxVerwarmd.Checked;

            mijnMengbatch.Handmatig = checkBoxHandmatig.Checked;

            mijnMengbatch.Doeltank = new Doeltank(trackBarDoeltank.Value);

            mijnMengbatch.Klaar = checkBoxKlaar.Checked;

            mijnMengbatch.VerwarmTijd = trackBarVerwarmTijd.Value;
        }

        private void MengbatchToControls(Mengbatch mijnMengbatch)
        {
            textBoxNummer.Text = mijnMengbatch.Nummer.ToString();

            textBoxProductcode.Text = mijnMengbatch.Productcode;
            if (mijnMengbatch.Smaak == null)
            {
                comboBoxSmaak.Text = "Cola";
            }
            else
            {
                comboBoxSmaak.Text = mijnMengbatch.Smaak.Naam;
            }
            checkBoxVerwarmd.Checked = mijnMengbatch.Verwarmen;

            checkBoxHandmatig.Checked = mijnMengbatch.Handmatig;

            checkBoxKlaar.Checked = mijnMengbatch.Klaar;

            if (mijnMengbatch.Hoeveelheid >= trackBarHoeveelheid.Minimum)
            {
                trackBarHoeveelheid.Value = mijnMengbatch.Hoeveelheid;
            }
            if (mijnMengbatch.SiroopPercentage >= trackBarSiroopPct.Minimum)
            {
                trackBarSiroopPct.Value = mijnMengbatch.SiroopPercentage;
            }
            if (mijnMengbatch.Mengtijd >= trackBarMengtijd.Minimum)
            {
                trackBarMengtijd.Value = mijnMengbatch.Mengtijd / 10;
            }
            if (mijnMengbatch.Doeltank != null && mijnMengbatch.Doeltank.Nummer >= trackBarDoeltank.Minimum)
            {
                trackBarDoeltank.Value = mijnMengbatch.Doeltank.Nummer;
            }
            if (mijnMengbatch.VerwarmTijd >= trackBarVerwarmTijd.Minimum)
            {
                trackBarVerwarmTijd.Value = mijnMengbatch.VerwarmTijd;
            }
        }

        #region Valuechanged

        private void checkBoxHandmatig_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBoxHandmatig.Checked == false)
            {
                trackBarDoeltank.Enabled = false;
            }
            else
            {
                trackBarDoeltank.Enabled = true;
            }
        }

        private void trackBarDoeltankValueChanged(object sender, EventArgs e)
        {
            labelDoeltank.Text = "Doeltank: C" + trackBarDoeltank.Value;
        }

        private void trackBarHoeveelheidValueChanged(object sender, EventArgs e)
        {
            string name = "vat";
            if (trackBarHoeveelheid.Value == 1)
            {
                name = "vat";
            }
            else
            {
                name = "vaten";
            }
            labelHoeveelheid.Text = trackBarHoeveelheid.Value + " " + name; ;
        }

        private void trackBarMengtijdValueChanged(object sender, EventArgs e)
        {
            labelMengtijd.Text = "Mengtijd: " + trackBarMengtijd.Value * 10 + " sec";
        }

        private void trackBarSiroopPctValueChanged(object sender, EventArgs e)
        {
            labelSiroopPct.Text = "Siroop: " + trackBarSiroopPct.Value + " %";
        }

        private void trackBarVerwarmTijd_ValueChanged(object sender, EventArgs e)
        {
            labelVerwarmTijd.Text = "Verwarm tijd :" + trackBarVerwarmTijd.Value + " sec";
        }

        #endregion Valuechanged
    }
}